package com.qijian.maindata.domain.query;

import com.baomidou.mybatisplus.annotation.TableName;
import com.qijian.common.utils.mybatis.WhereType;
import com.qijian.common.utils.mybatis.WhereTypeEnum;
import lombok.Data;
import lombok.ToString;

import java.math.BigDecimal;
import java.util.List;
import java.util.Set;


/**
 * 刀具使用对象 查询条件类
 *
 * @author qijian
 * @date 2024-03-12
 */

@Data
@ToString
@TableName("main_knife_use")
public class KnifeUseQuery {

    @WhereType(filed = "factory_area", tableName = "main_equipment_ledger")
    private String factoryArea;

    @WhereType(filed = "location_parent", tableName = "main_ledger_area_detail")
    private String locationParent;

    @WhereType(filed = "area", tableName = "main_ledger_area_detail")
    private String area;


    @WhereType(filed = "id")
    private Long id;
    @WhereType(filed = "id", type = WhereTypeEnum.IN)
    private Set<Long> ids;
    @WhereType(filed = "name", type = WhereTypeEnum.LIKE)
    private String name;
    @WhereType(filed = "spec", type = WhereTypeEnum.LIKE)
    private String spec;
    @WhereType(filed = "brand", type = WhereTypeEnum.LIKE)
    private String brand;
    @WhereType(filed = "quantity")
    private BigDecimal quantity;
    @WhereType(filed = "unit", type = WhereTypeEnum.LIKE)
    private String unit;
    @WhereType(filed = "producer", type = WhereTypeEnum.LIKE)
    private String producer;
    @WhereType(filed = "batch_number", type = WhereTypeEnum.LIKE)
    private String batchNumber;
    @WhereType(filed = "material_number", type = WhereTypeEnum.LIKE)
    private String materialNumber;
    @WhereType(filed = "manufacture_code", type = WhereTypeEnum.LIKE)
    private String manufactureCode;
    @WhereType(filed = "dept_id")
    private String deptId;
    @WhereType(filed = "dept_name", type = WhereTypeEnum.LIKE)
    private String deptName;
    @WhereType(filed = "remark", type = WhereTypeEnum.LIKE)
    private String remark;
    @WhereType(filed = "year", type = WhereTypeEnum.LIKE)
    private String year;
    @WhereType(filed = "type")
    private String type;
    @WhereType(filed = "eqp_number", type = WhereTypeEnum.LIKE)
    private String eqpNumber;
    @WhereType(filed = "code", type = WhereTypeEnum.LIKE)
    private String code;

    @WhereType(filed = "project_no", tableName = "main_project", type = WhereTypeEnum.LIKE)
    private String projectNo;


    @WhereType(filed = "machine_no", tableName = "main_project")
    private String machineNo;

    @WhereType(filed = "project_id", tableName = "main_project", type = WhereTypeEnum.IN)
    private List<Long> projectIds;


    @WhereType(filed = "equipment_ledger_id")
    private Long eqpId;

    @WhereType(filed = "number", type = WhereTypeEnum.LIKE)
    private String number;

    @WhereType(filed = "eqp_name",tableName = "main_equipment_ledger", type = WhereTypeEnum.LIKE)
    private String eqpName;


    @WhereType(filed = "project_machine_no", tableName = "main_project", type = WhereTypeEnum.LIKE)
    private String projectMachineNo;

    @WhereType(filed = "receiver_name", type = WhereTypeEnum.LIKE)
    private  String receiverName;

    @WhereType(filed = "receiver_name")
    private  String receiverNameEqual;


    @WhereType(filed = "receiver")
    private  Long receiver;

    @WhereType(ignore = true)
    private Long flowId;

    @WhereType(filed = "spec",tableName = "main_equipment_ledger", type = WhereTypeEnum.LIKE)
    private String eqpSpec;
}
